package com.system.blogAdmin.auth.dao;

import com.cnc.common.lang.page.PageBean;
import com.cnc.common.lang.page.PageParam;
import com.cnc.common.persistence.dao.BaseDao;
import com.system.blogAdmin.auth.entity.AuthResource;

import java.util.List;

/**
 * @描述：[BEAN_NAME]Dao接口
 * @作�??:  Auto Code
 * @创建时间:  2017-4-22 10:13:05
 * @版本: 1.0
 */
public interface AuthResourceDao extends BaseDao<AuthResource> {

    /**
     * 通过用户ID 列表查询用户拥有资源信息
     * @param userId
     * @return
     */
    List<AuthResource> listResourseByUserId (Long userId);

    /**
     * 通过资源类型获取 菜单资源
     * @param type 1表示菜单资源 2表示功能资源
     * @return
     */
    List<AuthResource> authResourceList (int type);

    /**
     * 分页查询资源信息 通过资源类型和资源父级ID
     * @param pageParam 分页参数
     * @param pId   资源父级ID
     * @param type  资源类型 1.菜单资源 2.功能资源
     * @return
     */
    PageBean<AuthResource> findResourceByPidAndType(PageParam pageParam, Long pId, Integer type);

    /**
     *  通过资源父级ID 列表查询资源信息
     * @param pId 资源父级ID
     * @return
     */
    List<AuthResource> listAuthResourceByPId(Long pId);

    /**
     * 检查用户名称是否重复
     * @param name
     * @return
     */
    Boolean isRepeat (String name);

    /**
     * 列表查询所有资源信息
     * @return
     */
    List<AuthResource> listResourseAll();

}
